package service;

import java.sql.SQLException;
import java.util.List;

import dao.CityDAO;
import domain.City;
import domain.PageBean;

public class Cityservice {
	/**
	 * 
	 * @param page			第几页
	 * @param countPerPage	每页数量
	 * @return
	 */
	public PageBean<City> queryPage(int page,int countPerPage)
	{
		PageBean<City> result = new PageBean<>();
		CityDAO dao = new CityDAO();
		
		// 1. 当前第几页
		result.setPage(page);

		// 2. 查询城市总数量
		int count=0;
		try {
			count = dao.getCount();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		result.setCount(count);
		
		// 3. 计算总页数 = (城市的数量-1)/每页的数量+1
		int pageCount=(count-1)/countPerPage+1;
		result.setPageCount(pageCount);

		// 4. 查询这一页城市数据
		List<City> list=null;
		try {
			list = dao.findPage((page-1)*countPerPage,countPerPage);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		result.setList(list);
		
		// 5. 计算分页信息的 开始序号 和 结束序号
		int start = page-5;
		if(start<1) start=1;
		int end = page+5;
		if(end>pageCount) end=pageCount;
		result.setStart(start);
		result.setEnd(end);

		
		return result;
	}
}
